package web.suzy.oj.controller.admin;

import org.apache.shiro.authz.annotation.RequiresPermissions;
import org.springframework.web.bind.annotation.PutMapping;
import org.springframework.web.bind.annotation.RequestBody;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;
import web.suzy.oj.common.result.ResultBean;
import web.suzy.oj.pojo.dto.SwitchConfigDTO;
import web.suzy.oj.service.admin.system.ConfigService;

import javax.annotation.Resource;

/**
 * YangSuzy 软件工作室
 * 类名: SwitchController
 * 描述: ---- 待定 -----
 * 功能: ---- 待定 -----
 *
 * @author YangSuzy
 * Date: 2022/11/30 10:24
 */
@RestController
@RequestMapping("/api/admin/switch")
public class SwitchController {
    @Resource
    private ConfigService configService;

    /**
     * 方法名: getSwitchConfig
     * 描述: 获取功能开关配置信息
     *
     * @return web.suzy.oj.common.result.ResultBean<web.suzy.oj.pojo.dto.SwitchConfigDTO>
     * @date 2022/11/30 10:25
     * @auther YangSuzy
     **/
    @RequiresPermissions("system_info_admin")
    @RequestMapping("/info")
    public ResultBean<SwitchConfigDTO> getSwitchConfig() {
        return configService.getSwitchConfig();
    }

    /**
     * 方法名: setSwitchConfig
     * 描述: 设置功能开关配置
     *
     * @param config 配置信息
     * @return web.suzy.oj.common.result.ResultBean<java.lang.Void>
     * @date 2022/11/30 10:32
     * @auther YangSuzy
     **/
    @RequiresPermissions("system_info_admin")
    @PutMapping("/update")
    public ResultBean<Void> setSwitchConfig(@RequestBody SwitchConfigDTO config) {
        return configService.setSwitchConfig(config);
    }
}
